import { HardhatUserConfig} from "hardhat/config";
import '@typechain/hardhat'
import '@nomiclabs/hardhat-ethers'
import '@nomiclabs/hardhat-waffle'
import dotenv from 'dotenv';

dotenv.config();
const MNEMONIC=process.env.MNEMONIC;
const RINKEBY_RPC_URL = process.env.RINKEBY_RPC_URL;

const config: HardhatUserConfig = {
    solidity: {
        version: "0.8.4",
        settings: {
          optimizer: {
            enabled: true,
            runs: 200,
          },
        },
    },

    //rinkeby
    networks:{
      hardhat: {
        accounts: {
          mnemonic:MNEMONIC,
          accountsBalance: '100000000000000000000000000',
        },
        blockGasLimit: 60000000,
        initialBaseFeePerGas: 0,
      },
      rinkeby: {
        url:RINKEBY_RPC_URL,
        accounts: {
          mnemonic:MNEMONIC,
        },
      },
    },
    typechain: {
        outDir: 'src/types',
        target: 'ethers-v5',
        alwaysGenerateOverloads: false, // should overloads with full signatures like deposit(uint256) be generated always, even if there are no overloads?
        externalArtifacts: ['artifacts/ArrtibuteAssert.sol/*.json'], // optional array of glob patterns with external artifacts to process (for example external libs from node_modules)
    },
};

export default config;